home *** CD-ROM | disk | FTP | other *** search
- \unnumbchapentry {GNU GENERAL PUBLIC LICENSE}{1}
- \unnumbsecentry{Preamble}{1}
- \unnumbsecentry{TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION}{2}
- \unnumbsecentry{How to Apply These Terms to Your New Programs}{7}
- \unnumbchapentry {Contributors to GNU CC}{9}
- \chapentry {Protect Your Freedom---Fight ``Look And Feel''}{1}{11}
- \chapentry {GNU CC Command Options}{2}{15}
- \secentry {Option Summary}{2}{1}{15}
- \secentry {Options Controlling the Kind of Output}{2}{2}{19}
- \secentry {Options Controlling Dialect}{2}{3}{20}
- \secentry {Options to Request or Suppress Warnings}{2}{4}{24}
- \secentry {Options for Debugging Your Program or GNU CC}{2}{5}{29}
- \secentry {Options That Control Optimization}{2}{6}{32}
- \secentry {Options Controlling the Preprocessor}{2}{7}{37}
- \secentry {Passing Options to the Assembler}{2}{8}{39}
- \secentry {Options for Linking}{2}{9}{39}
- \secentry {Options for Directory Search}{2}{10}{41}
- \secentry {Specifying Target Machine and Compiler Version}{2}{11}{42}
- \secentry {Specifying Hardware Models and Configurations}{2}{12}{44}
- \subsecentry {M680x0 Options}{2}{12}{1}{44}
- \subsecentry {VAX Options}{2}{12}{2}{45}
- \subsecentry {SPARC Options}{2}{12}{3}{46}
- \subsecentry {Convex Options}{2}{12}{4}{46}
- \subsecentry {AMD29K Options}{2}{12}{5}{46}
- \subsecentry {M88K Options}{2}{12}{6}{47}
- \subsecentry {IBM RS/6000 Options}{2}{12}{7}{50}
- \subsecentry {IBM RT Options}{2}{12}{8}{50}
- \subsecentry {MIPS Options}{2}{12}{9}{51}
- \subsecentry {Intel 386 Options}{2}{12}{10}{54}
- \subsecentry {HPPA Options}{2}{12}{11}{54}
- \subsecentry {Intel 960 Options}{2}{12}{12}{55}
- \subsecentry {DEC Alpha Options}{2}{12}{13}{56}
- \subsecentry {Options for System V}{2}{12}{14}{57}
- \secentry {Options for Code Generation Conventions}{2}{13}{57}
- \secentry {Environment Variables Affecting GNU CC}{2}{14}{60}
- \secentry {Running Protoize}{2}{15}{62}
- \chapentry {Installing GNU CC}{3}{65}
- \secentry {Compilation in a Separate Directory}{3}{1}{75}
- \secentry {Building and Installing a Cross-Compiler}{3}{2}{75}
- \secentry {Installing GNU CC on the HP Precision Architecture}{3}{3}{77}
- \secentry {Installing GNU CC on the Sun}{3}{4}{78}
- \secentry {Installing GNU CC on the 3b1}{3}{5}{79}
- \secentry {Installing GNU CC on Unos}{3}{6}{79}
- \secentry {Installing GNU CC on VMS}{3}{7}{80}
- \secentry {Installing GNU CC on the WE32K}{3}{8}{83}
- \secentry {Installing GNU CC on the MIPS}{3}{9}{84}
- \chapentry {GNU Extensions to the C Language}{4}{87}
- \secentry {Statements and Declarations within Expressions}{4}{1}{87}
- \secentry {Locally Declared Labels}{4}{2}{88}
- \secentry {Labels as Values}{4}{3}{89}
- \secentry {Nested Functions}{4}{4}{90}
- \secentry {Naming an Expression's Type}{4}{5}{93}
- \secentry {Referring to a Type with \code {typeof}}{4}{6}{93}
- \secentry {Generalized Lvalues}{4}{7}{94}
- \secentry {Conditional Expressions with Omitted Operands}{4}{8}{96}
- \secentry {Double-Word Integers}{4}{9}{96}
- \secentry {Arrays of Length Zero}{4}{10}{97}
- \secentry {Arrays of Variable Length}{4}{11}{97}
- \secentry {Macros with Variable Numbers of Arguments}{4}{12}{99}
- \secentry {Non-Lvalue Arrays May Have Subscripts}{4}{13}{100}
- \secentry {Arithmetic on \code {void}- and Function-Pointers}{4}{14}{100}
- \secentry {Non-Constant Initializers}{4}{15}{101}
- \secentry {Constructor Expressions}{4}{16}{101}
- \secentry {Labeled Elements in Initializers}{4}{17}{102}
- \secentry {Case Ranges}{4}{18}{104}
- \secentry {Cast to a Union Type}{4}{19}{105}
- \secentry {Declaring Attributes of Functions}{4}{20}{105}
- \secentry {Prototypes and Old-Style Function Definitions}{4}{21}{108}
- \secentry {Dollar Signs in Identifier Names}{4}{22}{109}
- \secentry {The Character \key {ESC} in Constants}{4}{23}{109}
- \secentry {Inquiring on Alignment of Types or Variables}{4}{24}{109}
- \secentry {Specifying Attributes of Variables}{4}{25}{110}
- \secentry {An Inline Function is As Fast As a Macro}{4}{26}{111}
- \secentry {Assembler Instructions with C Expression Operands}{4}{27}{113}
- \secentry {Controlling Names Used in Assembler Code}{4}{28}{117}
- \secentry {Variables in Specified Registers}{4}{29}{118}
- \subsecentry {Defining Global Register Variables}{4}{29}{1}{118}
- \subsecentry {Specifying Registers for Local Variables}{4}{29}{2}{120}
- \secentry {Alternate Keywords}{4}{30}{121}
- \secentry {Incomplete \code {enum} Types}{4}{31}{122}
- \chapentry {Known Causes of Trouble with GNU CC}{5}{123}
- \secentry {Actual Bugs We Haven't Fixed Yet}{5}{1}{123}
- \secentry {Installation Problems}{5}{2}{123}
- \secentry {Cross-Compiler Problems}{5}{3}{126}
- \secentry {Interoperation}{5}{4}{126}
- \secentry {Incompatibilities of GNU CC}{5}{5}{130}
- \secentry {Disappointments and Misunderstandings}{5}{6}{133}
- \secentry {Caveats of using \code {protoize}}{5}{7}{134}
- \secentry {Certain Changes We Don't Want to Make}{5}{8}{135}
- \chapentry {Reporting Bugs}{6}{139}
- \secentry {Have You Found a Bug?}{6}{1}{139}
- \secentry {Where to Report Bugs}{6}{2}{140}
- \secentry {How to Report Bugs}{6}{3}{141}
- \secentry {Sending Patches for GNU CC}{6}{4}{145}
- \chapentry {How To Get Help with GNU CC}{7}{149}
- \chapentry {Using GNU CC on VMS}{8}{151}
- \secentry {Include Files and VMS}{8}{1}{151}
- \secentry {Global Declarations and VMS}{8}{2}{152}
- \secentry {Other VMS Issues}{8}{3}{155}
- \chapentry {GNU CC and Portability}{9}{157}
- \chapentry {Interfacing to GNU CC Output}{10}{159}
- \chapentry {Passes and Files of the Compiler}{11}{161}
- \chapentry {RTL Representation}{12}{167}
- \secentry {RTL Object Types}{12}{1}{167}
- \secentry {Access to Operands}{12}{2}{168}
- \secentry {Flags in an RTL Expression}{12}{3}{171}
- \secentry {Machine Modes}{12}{4}{174}
- \secentry {Constant Expression Types}{12}{5}{178}
- \secentry {Registers and Memory}{12}{6}{180}
- \secentry {RTL Expressions for Arithmetic}{12}{7}{184}
- \secentry {Comparison Operations}{12}{8}{187}
- \secentry {Bit Fields}{12}{9}{189}
- \secentry {Conversions}{12}{10}{189}
- \secentry {Declarations}{12}{11}{191}
- \secentry {Side Effect Expressions}{12}{12}{191}
- \secentry {Embedded Side-Effects on Addresses}{12}{13}{195}
- \secentry {Assembler Instructions as Expressions}{12}{14}{197}
- \secentry {Insns}{12}{15}{197}
- \secentry {RTL Representation of Function-Call Insns}{12}{16}{206}
- \secentry {Structure Sharing Assumptions}{12}{17}{207}
- \chapentry {Machine Descriptions}{13}{209}
- \secentry {Everything about Instruction Patterns}{13}{1}{209}
- \secentry {Example of \code {define\vbox to 0pt{}\kern .06em \vbox {\hrule width.3em height.1ex}insn}}{13}{2}{210}
- \secentry {RTL Template for Generating and Recognizing Insns}{13}{3}{211}
- \secentry {Output Templates and Operand Substitution}{13}{4}{215}
- \secentry {C Statements for Generating Assembler Output}{13}{5}{216}
- \secentry {Operand Constraints}{13}{6}{218}
- \subsecentry {Simple Constraints}{13}{6}{1}{218}
- \subsecentry {Multiple Alternative Constraints}{13}{6}{2}{223}
- \subsecentry {Register Class Preferences}{13}{6}{3}{224}
- \subsecentry {Constraint Modifier Characters}{13}{6}{4}{225}
- \subsecentry {Not Using Constraints}{13}{6}{5}{226}
- \secentry {Standard Names for Patterns Used in Generation}{13}{7}{226}
- \secentry {When the Order of Patterns Matters}{13}{8}{236}
- \secentry {Interdependence of Patterns}{13}{9}{236}
- \secentry {Defining Jump Instruction Patterns}{13}{10}{238}
- \secentry {Canonicalization of Instructions}{13}{11}{240}
- \secentry {Defining Machine-Specific Peephole Optimizers}{13}{12}{241}
- \secentry {Defining RTL Sequences for Code Generation}{13}{13}{245}
- \secentry {Splitting Instructions into Multiple Instructions}{13}{14}{248}
- \secentry {Instruction Attributes}{13}{15}{251}
- \subsecentry {Defining Attributes and their Values}{13}{15}{1}{252}
- \subsecentry {Attribute Expressions}{13}{15}{2}{253}
- \subsecentry {Assigning Attribute Values to Insns}{13}{15}{3}{255}
- \subsecentry {Example of Attribute Specifications}{13}{15}{4}{257}
- \subsecentry {Computing the Length of an Insn}{13}{15}{5}{258}
- \subsecentry {Constant Attributes}{13}{15}{6}{260}
- \subsecentry {Delay Slot Scheduling}{13}{15}{7}{260}
- \subsecentry {Specifying Function Units}{13}{15}{8}{262}
- \chapentry {Target Description Macros}{14}{265}
- \secentry {Controlling the Compilation Driver, \file {gcc}}{14}{1}{265}
- \secentry {Run-time Target Specification}{14}{2}{269}
- \secentry {Storage Layout}{14}{3}{271}
- \secentry {Layout of Source Language Data Types}{14}{4}{276}
- \secentry {Register Usage}{14}{5}{279}
- \subsecentry {Basic Characteristics of Registers}{14}{5}{1}{279}
- \subsecentry {Order of Allocation of Registers}{14}{5}{2}{280}
- \subsecentry {How Values Fit in Registers}{14}{5}{3}{281}
- \subsecentry {Handling Leaf Functions}{14}{5}{4}{282}
- \subsecentry {Registers That Form a Stack}{14}{5}{5}{283}
- \subsecentry {Obsolete Macros for Controlling Register Usage}{14}{5}{6}{284}
- \secentry {Register Classes}{14}{6}{285}
- \secentry {Describing Stack Layout and Calling Conventions}{14}{7}{291}
- \subsecentry {Basic Stack Layout}{14}{7}{1}{291}
- \subsecentry {Registers That Address the Stack Frame}{14}{7}{2}{292}
- \subsecentry {Eliminating Frame Pointer and Arg Pointer}{14}{7}{3}{293}
- \subsecentry {Passing Function Arguments on the Stack}{14}{7}{4}{295}
- \subsecentry {Passing Arguments in Registers}{14}{7}{5}{297}
- \subsecentry {How Scalar Function Values Are Returned}{14}{7}{6}{300}
- \subsecentry {How Large Values Are Returned}{14}{7}{7}{302}
- \subsecentry {Caller-Saves Register Allocation}{14}{7}{8}{303}
- \subsecentry {Function Entry and Exit}{14}{7}{9}{303}
- \subsecentry {Generating Code for Profiling}{14}{7}{10}{306}
- \secentry {Implementing the Varargs Macros}{14}{8}{307}
- \secentry {Trampolines for Nested Functions}{14}{9}{310}
- \secentry {Implicit Calls to Library Routines}{14}{10}{312}
- \secentry {Addressing Modes}{14}{11}{315}
- \secentry {Condition Code Status}{14}{12}{318}
- \secentry {Describing Relative Costs of Operations}{14}{13}{320}
- \secentry {Dividing the Output into Sections (Texts, Data, \dots{})}{14}{14}{323}
- \secentry {Position Independent Code}{14}{15}{325}
- \secentry {Defining the Output Assembler Language}{14}{16}{326}
- \subsecentry {The Overall Framework of an Assembler File}{14}{16}{1}{326}
- \subsecentry {Output of Data}{14}{16}{2}{327}
- \subsecentry {Output of Uninitialized Variables}{14}{16}{3}{329}
- \subsecentry {Output and Generation of Labels}{14}{16}{4}{330}
- \subsecentry {How Initialization Functions Are Handled}{14}{16}{5}{333}
- \subsecentry {Macros Controlling Initialization Routines}{14}{16}{6}{336}
- \subsecentry {Output of Assembler Instructions}{14}{16}{7}{337}
- \subsecentry {Output of Dispatch Tables}{14}{16}{8}{339}
- \subsecentry {Assembler Commands for Alignment}{14}{16}{9}{340}
- \secentry {Controlling Debugging Information Format}{14}{17}{341}
- \subsecentry {Macros Affecting All Debugging Formats}{14}{17}{1}{341}
- \subsecentry {Specific Options for DBX Output}{14}{17}{2}{342}
- \subsecentry {Open-Ended Hooks for DBX Format}{14}{17}{3}{344}
- \subsecentry {File Names in DBX Format}{14}{17}{4}{345}
- \subsecentry {Macros for SDB and DWARF Output}{14}{17}{5}{346}
- \secentry {Cross Compilation and Floating Point Format}{14}{18}{347}
- \secentry {Miscellaneous Parameters}{14}{19}{350}
- \chapentry {The Configuration File}{15}{355}
- \unnumbchapentry {Index}{359}
-